La commande chroot permet de changer le répertoire racine vers un nouvel emplacement.
Cette opération peut être utilisée dans divers cas :
Cette technique est le plus souvent utilisée pour récupérer une installation endommagée.
Ici le chroot sera utilisé après le démarrage sur un système sain pour se retrouver dans l'environnement endommagé et faire des modifications directement dans ce dernier environnement.
Astuce : Vous pouvez taper
sudo -i
avant de faire les opérations suivantes pour devenir "root" et ne pas devoir entrer "sudo".
sudo mkdir /media/system sudo mount </dev/partition> /media/system
par exemple, si sda2 est la partition racine, la commande sera : "sudo mount /dev/sda2 /media/system"
sudo mount --bind /dev /media/system/dev sudo mount -t proc /proc /media/system/proc
sudo mount --bind /run /media/system/run
Note : Vous pourriez aussi avoir besoin de monter /sys :
sudo mount -t sysfs /sys /media/system/sys
net-setup eth0
sudo cp /etc/resolv.conf /media/system/etc/resolv.conf
sudo chroot /media/system
sudo chroot /media/system /bin/bash
.
Maintenant vous êtes sur l'installation endommagée et vous pouvez travailler dessus pour y corriger les problèmes.
Pour quitter l'environnement, il suffit d'un :
exit
Pour démonter la partition racine du système endommagé :
sudo umount /media/system/dev sudo umount /media/system/proc sudo umount /media/system/sys sudo umount /media/system/run sudo umount /media/system
Le plus souvent, cette utilisation est faite à partir d'une clé USB d'installation de ubuntu. Ceci est un cas pratique fait en EFI sur partition système non chiffrée. Les commandes de préparation sont
setxkbmap fr ### afin d'avoir un clavier français. sudo -i ### afin d'éviter de passer son temps à frapper cette commande
L'identification de la partition système à cibler sera plus aisée en frappant la commande
blkid | grep ext
Le montage de la partition système à cibler se fera en frappant la commande (pensez à remplacer XXXX par la bonne valeur).
mount /dev/XXXX /mnt
Le montage des répertoires se fera avec ces commandes (copier/coller).
mount -t proc /proc /mnt/proc mount -t sysfs /sys /mnt/sys mount --bind /dev /mnt/dev mount --bind /run /mnt/run mount --bind /sys /mnt/sys modprobe efivars cp /etc/resolv.conf /mnt/etc/resolv.conf
Le changement d'environnement se fera après avoir arrêté firefox s'il était utilisé via cette commande
chroot /mnt
Quelques contrôles seront à faire par exemple
df -h && df -i ping -c4 8.8.8.8 && ping -c4 google.fr
Vous pouvez alors passer à la réparation proprement dite qui a justifié cette opération. Lorsque cela sera fini, le plus simple est de rebouter pour vérifier. La commande suivante s'occupe de toutes les déconnexions.
reboot
Cette option devient de plus en plus désuète puisque la plupart des machines sont maintenant en 64 bits.
Préférez toujours utiliser 'chroot' entre deux systèmes de même architecture.
CD Live 32bit pour une installation système 32bits et de même pour 64bits.
Sinon, voir le tutoriel chroot32bits